package com.uzai.console.service.alipaymch;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.uzai.console.dto.alipaydetail.AlipayDetailAlipayUrlDao;
import com.uzai.console.dto.alipaymch.AlipayMchAppAuthSignUrlDao;
import com.uzai.console.dto.alipaymch.AlipayMchAuthDto;
import com.uzai.console.dto.alipaymch.AlipayMchAuthIdDto;
import com.uzai.console.dto.alipaymch.AlipayMchAuthQuery;
import com.uzai.console.vo.alipaymch.AlipayMchAppAuthSignUrlVo;
import com.uzai.console.vo.alipaymch.AlipayMchAuthVo;
import com.uzai.console.vo.base.SelectKeyVo;

import java.util.List;

/**
 * @Auther: lucher
 * @Date: 2021/12/14 16:46
 * @Description:
 */
public interface AlipayMchAppAuthService {

    /**
     * 生成商户签约页面
     * @author liuqi
     * @date 2021/8/13 11:38
     * @return null
     */
    AlipayMchAppAuthSignUrlVo mchInviteSignUrl();

    /**
     * 查询商户签约页面url
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param alipayMchAppAuthSignUrlDao
     * @return null
     */
    AlipayMchAppAuthSignUrlVo findAlipayMchAppAuthSignUrl(AlipayMchAppAuthSignUrlDao alipayMchAppAuthSignUrlDao);


    //支付宝回调刷新授权
    void mchAppAuthToken(String app_id, String app_auth_code, String state);

    /**
     * 查询支付宝授权列表
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param alipayMchAuthQuery
     * @return null
     */
    Page<AlipayMchAuthVo> findAlipayMchAuthList(AlipayMchAuthQuery alipayMchAuthQuery);

    /**
     * 修改支付宝授权备注
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param alipayMchAuthDto
     * @return null
     */
    void updateRemark(AlipayMchAuthDto alipayMchAuthDto);

    /**
     * 修改支付宝授权转账标题
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param alipayMchAuthDto
     * @return null
     */
    void updateTransferinfo(AlipayMchAuthDto alipayMchAuthDto);

    /**
     * 删除支付宝授权
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param alipayMchAuthIdDto
     * @return null
     */
    void deleteAlipayMchAuth(AlipayMchAuthIdDto alipayMchAuthIdDto);

    /**
     * 查询支付宝授权列表
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param
     * @return null
     */
    List<SelectKeyVo> findAlipayMchAuthListSelect(AlipayMchAuthQuery alipayMchAuthQuery);
}
